package com.demo.study.java.abstractTest;


import java.util.List;

/**
 * 抽象类 学习
 *
 * 这是一个使用抽象类的Java代码示例，根据表名、库名和字段列生成Impala和Oracle的创建表语句：
 */
public  abstract class CreateTableStatement {
    /**
     * 定义变量
     */
    protected String database;
    protected String table;
    protected List<String> columns;
    public CreateTableStatement(String database, String table, List<String> columns) {
        this.database = database;
        this.table = table;
        this.columns = columns;
    }

    //抽象类
    public abstract String generateCreateTableStatement();


    protected String formatColumns() {
        StringBuilder formattedColumns = new StringBuilder();
        for (int i = 0; i < columns.size(); i++) {
            formattedColumns.append(columns.get(i));
            if (i < columns.size() - 1) {
                formattedColumns.append(", ");
            }
        }
        return formattedColumns.toString();
    }


}
